home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / amiexpress / source / ae / code / ax3.00 / zmodem_receive.c < prev    next >
Encoding:
C/C++ Source or Header  |  1980-01-03  |  2.0 KB  |  68 lines

  1. #include "bbs.h"
  2. extern char Xprlib[];
  3. extern char prototitle[];
  4. #define DSKBUFF    20480L                    /* For Sending */
  5. //extern BYTE ZWindow;
  6. extern UBYTE serin[];
  7. extern char diskbuff[DSKBUFF];
  8. extern BOOL LocalUpload;
  9. extern BOOL LcFileXfr;
  10. int Zmodem_Receive(char *flname,int ULFType)
  11. {
  12.  int c;
  13.     char *p;
  14.  char temp[100];
  15.  if(Whence_The_Logon>=REMOTE_LOGON && !LocalUpload && !LcFileXfr)    {
  16.      if(!ULFType) {
  17.               sprintf(temp,"\r\n%s: Ready to Receive\r\n",prototitle);
  18.               AEPutStr(temp);
  19.             AEPutStr("Control-X to Cancel\r\n");
  20.         }
  21.      if(strcmp(Xprlib,"INTERNAL") && GET_BIT(ACS_XPR_RECEIVE))
  22.      {
  23.        XPRReceive(flname);
  24.        return(1);
  25.      }
  26.      sprintf(temp,"[Node %d] Receive Window",Cmds->AcLvl[LVL_NODE_NUMBER]);
  27.      strcpy(ZModemInfo.TitleBar,temp);
  28.      ZModemInfo.RecPos=ZModemInfo.Filesize=ZModemInfo.ErrorPos= 
  29.         ZModemInfo.LastTime=ZModemInfo.ApxTime=ZModemInfo.Cps= 
  30.         ZModemInfo.Eff=ZModemInfo.ResumePos=0;
  31.      OpenZDisplay();
  32.      ZWindow=1;
  33.      Delay(50L);
  34.      AbortIO(ReadSerReq);
  35.      WaitIO(ReadSerReq);
  36.  
  37.      p = strlen(flname)+flname;
  38.      while(p>=flname && *p!=':' && *p!='/') *p-- == '\0';
  39.  
  40.       if(!CheckIO(TimerMsg)) AbortIO(TimerMsg);
  41.           WaitIO(TimerMsg);
  42.       c = proto(ReadSerReq, WriteSerReq, TimerMsg, &diskbuff[0], DSKBUFF,
  43.                   (long)Online_Baud, flname, 0, 0);
  44.  
  45.      ReadSerReq->IOSer.io_Command = CMD_READ;
  46.      ReadSerReq->IOSer.io_Data    = (APTR)&serin[0];
  47.      ReadSerReq->IOSer.io_Length  = 1L;
  48.      SendIO(ReadSerReq);
  49.      CloseZDisplay();     /* close the transfer widow */
  50.      ZWindow=0;
  51.      Delay(70L);
  52.      if(ULFType)         AEPutStr("\r\n\r\n");
  53.  
  54.      AEPutStr(prototitle);
  55.      if(c) AEPutStr(" upload successful\r\n");
  56.      else  AEPutStr(" upload unsuccessful\r\n");
  57.  
  58.      return c;
  59.      } else {
  60.         if(!LcFileXfr) {if(batchasl(flname)) ReceivePlayPen(); }
  61.         else ReceivePlayPen(); 
  62.         LcFileXfr=0;
  63.          //AEPutStr("\r\nNot supported locally...");
  64.  }
  65.  LocalUpload=0;
  66. return(0);
  67. }
  68.